Analyze the Pluvio Data - Entire Season + Case Selection#
Imports#
import act
import glob
import xarray as xr
import hvplot.xarray
import holoviews as hv
hv.extension("bokeh")
Data Access#
files = act.discovery.download_arm_data(
"mgrover4", "176e1559b67be630", "gucwbpluvio2M1.a1", "2021-12-01", "2022-03-31"
)
[DOWNLOADING] gucwbpluvio2M1.a1.20220317.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220318.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220319.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220320.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220321.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220322.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220323.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220324.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220325.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220326.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220327.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220328.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220329.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220330.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220331.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220224.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211201.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211202.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211203.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211206.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211207.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211208.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211209.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211216.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211217.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211218.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211222.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211224.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211225.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211226.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211227.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211228.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211229.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220102.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220109.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220110.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220112.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220111.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220113.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220116.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220122.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220124.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220127.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220130.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220131.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220202.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220201.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220204.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220205.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220213.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220217.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220221.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220219.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220220.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211204.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211205.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211211.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211210.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211213.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211212.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211214.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211215.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211219.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211220.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211221.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211223.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211231.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20211230.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220101.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220103.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220104.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220106.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220105.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220107.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220108.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220114.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220115.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220117.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220118.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220120.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220119.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220121.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220123.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220125.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220126.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220128.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220129.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220203.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220207.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220206.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220209.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220208.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220210.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220211.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220212.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220215.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220214.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220216.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220218.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220223.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220222.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220226.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220225.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220227.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220228.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220301.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220304.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220302.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220303.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220306.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220305.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220307.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220308.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220309.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220310.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220311.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220312.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220313.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220314.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220315.000000.nc
[DOWNLOADING] gucwbpluvio2M1.a1.20220316.000000.nc
If you use these data to prepare a publication, please cite:
Wang, D., Jane, M., Cromwell, E., Sturm, M., Irving, K., Delamere, J., &
Mockaitis, M. Weighing Bucket Precipitation Gauge (WBPLUVIO2). Atmospheric
Radiation Measurement (ARM) User Facility. https://doi.org/10.5439/1338194
Load Data into Xarray and Compute Accumulation Using ACT#
files = sorted(glob.glob("gucwbpluvio2M1.a1/*"))
ds = xr.open_mfdataset(files, engine='netcdf4')
gauge_precip_accum = act.utils.accumulate_precip(ds.where(ds.pluvio_status == 0), "intensity_rtnrt").intensity_rtnrt_accumulated.compute()
Visualize our Data#
Entire Season#
ds.intensity_rtnrt.hvplot(width=300, height=200) * gauge_precip_accum.hvplot(width=300, height=200)
ds.sel(time=slice("2021-12-23", "2022-01-01")).intensity_rtnrt.hvplot(width=300, height=200) * gauge_precip_accum.sel(time=slice("2021-12-23", "2022-01-01")).hvplot(width=300, height=200)
ds.sel(time=slice("2022-03-04", "2022-03-07")).intensity_rtnrt.hvplot(width=300, height=200) * gauge_precip_accum.sel(time=slice("2022-03-04", "2022-03-07")).hvplot(width=300, height=200)
Compare with the Gothic Site#
import pandas as pd
from metpy.units import units
"https://docs.google.com/spreadsheets/d/1S7xZPT0IoJk0bWt34BKvyT9xzPbI1Tv6q28M3ZqiMpE/edit?usp=sharing"
df = pd.read_excel('https://docs.google.com/spreadsheets/d/' +
'1S7xZPT0IoJk0bWt34BKvyT9xzPbI1Tv6q28M3ZqiMpE' +
'/export?gid=0&format=xlsx',
sheet_name='Sheet1')
df
| Date | temp ºC (ºF) | cm (inches) | Snow accumulation (cm) | Liquid equivalent (in) | Accumulation Ratio | |
|---|---|---|---|---|---|---|
| 0 | 2021-12-01 | -7½ (18) | 11½ (53) | 0.0 | 0.0 | #DIV/0! |
| 1 | 2021-12-02 | -8 (18) | 12½ (55) | 0.0 | 0.0 | #DIV/0! |
| 2 | 2021-12-03 | -8½ (17) | 11½ (53) | 0.0 | 0.0 | #DIV/0! |
| 3 | 2021-12-04 | -8½ (17) | 9½ (49) | 0.0 | 0.0 | #DIV/0! |
| 4 | 2021-12-05 | -8 (18) | 5½ (42) | 0.0 | 0.0 | #DIV/0! |
| ... | ... | ... | ... | ... | ... | ... |
| 178 | 2022-05-29 | -½ (31) | 13½ (56) | 0.0 | 0.0 | #DIV/0! |
| 179 | 2022-05-30 | -2½ (27) | 5½ (42) | 9.0 | 0.5 | 7.086614 |
| 180 | 2022-05-31 | -5½ (22) | 11 (52) | 2.0 | 0.1 | 7.874016 |
| 181 | NaT | NaN | NaN | NaN | NaN | NaN |
| 182 | NaT | NaN | NaN | NaN | NaN | #DIV/0! |
183 rows × 6 columns
Convert all units to millimeters and set the date column as the index#
# Add units
swe_inches = df["Liquid equivalent (in)"].astype(float).values * units.inches
accum_cm = df["Snow accumulation (cm)"].astype(float).values * units.centimeter
# Do the conversion using MetPy
swe_mm = swe_inches.to("mm")
accum_mm = accum_cm.to("mm")
# Strip Units
df["swe_mm"] = swe_mm.m
df["accum_mm"] = accum_mm.m
# Set the index to date
df["Date"] = pd.to_datetime(df.Date)
df = df.set_index("Date")
# Convert to xarray!
gothic_ds = df.to_xarray().dropna("Date")
Visualize the Gothic Colorado Snow Accumulation and Snow Water Liquid Equivalent (SWE)#
(gothic_ds["swe_mm"].hvplot(width=400,
title='Snow water liquid equivalent (SWE) at Gothic') +
gothic_ds["accum_mm"].hvplot(width=400,
title='Snow depth at Gothic')
).cols(1)